Crate gix_negotiate

source ·
Expand description

An implementation of negotiation algorithms to help the server figure out what we have in common so it can optimize the pack it sends to only contain what we don’t have.

Structs

  • Multi purpose, shared flags that are used by negotiation algorithms and by the caller as well
  • Additional data to store with each commit when used by any of our algorithms.

Enums

  • The way the negotiation is performed.

Traits

  • A delegate to implement a negotiation algorithm.

Functions

  • Calculate how many HAVE lines we may send in one round, with variation depending on whether the transport_is_stateless or not. window_size is the previous (or initial) value of the window size.

Type Aliases

  • An error that happened during any of the methods on a Negotiator.
  • The graph our callers use to store traversal information, for (re-)use in the negotiation implementation.
  • A map associating an object id with its commit-metadata.